A workflow generally refers to a flow of tasks associated with a business process. The tasks may be structured and/or ad hoc. A task may include one or more actions or activities (a series of actions). The business process typically involves people (sometimes referred to as participants of the workflow), organizational roles (e.g. manager, employee, etc), and documents, including records.
Some workflows are supported by computers that provide mechanisms for modeling, executing, and/or controlling the workflow. A user interacts with these mechanisms through a user interface (UI), typically a graphical user interface (GUI). A GUI is a graphical interface to a computing system that displays visual elements, e.g. icons and windows, on a display, e.g. a monitor. GUIs, as well as other user interfaces, may include non-visual interfaces, such as an audio interface, making the interface accessible to a wide variety of people.
Enterprises increasingly rely on computers to execute or help execute workflow tasks. Traditionally, to execute workflow tasks, multiple, unrelated desktop applications have been involved. For example, an employee may be assigned a task through an email application. The task may be chargeable to a client based on a time-dependent rate (e.g. hourly). To track the time spent on completing the task, the employee may use a separate computer application (e.g. a word processing application or spreadsheet application), or a physically separate device (e.g. a handheld device or a paper notepad). After the task is complete, the employee then uses another application or device to record and submit to the enterprise's accounting department the total time spent on the task, often in a specific format.
Using multiple, independent applications can be not only time-consuming, but can also result in security/access issues. For example, one or more of the applications used to execute the task may be inadequately designed to provide the security/access control necessary to protect enterprise data involved in the workflow. Therefore, one or more applications that a workflow participant uses with regularity may be less secure and/or less capable of dealing with enterprise business process tasks. Additionally, manual transfer of the data from one application (or device) to another to complete the task also exposes the integrity of the enterprise data to unnecessary risks. Furthermore, using multiple, independent applications makes it difficult for the enterprise to use the computing system to assist workflow participants in complying with procedures and policies set forth by the enterprise to complete a workflow.